Determining device that performs processing of output pictures

ABSTRACT

A system and method for determining the characteristics of a device coupled to a client device are disclosed. A method, according to one embodiment, includes driving a display device with a first video output signal formatted according to a first video interface specification; responsive to driving the display device, soliciting user input based on information included in the first video output signal; determining a characteristic of the display device based on the user input; and driving the display device according to the determined characteristic.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a divisional of U.S. patent application Ser. No.10/761,777, filed on Jan. 21, 2004, which is incorporated by referenceherein in its entirety.

TECHNICAL FIELD

This disclosure relates in general to the field of television systems,and more particularly, to the field of interactive television.

BACKGROUND OF THE DISCLOSURE

With recent advances in digital transmission technology, subscribertelevision systems are now capable of providing much more than thetraditional analog broadcast video. In implementing enhancedprogramming, the home communication terminal (“HCT”), otherwise known asthe set-top box, has become an important computing device for accessingcontent services (and content within those services) and navigating auser through a maze of available services. In addition to supportingtraditional analog broadcast video functionality, digital HCTs (or“DHCTs”) now also support an increasing number of two-way digitalservices such as video-on-demand and personal video recording.

Typically, a DHCT is connected to a cable or satellite, or generally, asubscriber television system, and includes hardware and softwarenecessary to provide the functionality of the digital television systemat the user's site. Some of the software executed by a DHCT can bedownloaded and/or updated via the subscriber television system. EachDHCT also typically includes a processor, input/output capabilities,communication components, and memory, and is connected to a televisionset or other display device, such as a personal computer. While manyconventional DHCTs are stand-alone devices that are externally connectedto a television, a DHCT and/or its functionality may be integrated intoa television or personal computer or even an audio device such as aprogrammable radio, as will be appreciated by those of ordinary skill inthe art.

Technological advances now permit generation and transmission of avariety of higher resolution pictures and video formats. Coincident withthe advancing technology of transmission equipment is the technologicalimprovements of the DHCTs and the television set to receive and displaya plurality of video formats. There are a wide range of television setsavailable today, including the conventional cathode ray tube (CRT)styles, overhead projection, rear projection, liquid crystal displaybased technology, and plasma television sets that can be mounted on awall. These variations in television sets often lead to a wide varietyof characteristics that affect processing of a television picture fordisplay. A sourced television or video signal is typically processed fordisplay by considering its characteristics, as well as the TV set'scharacteristics such as the size of the screen, the aspect ratio of thedisplay, and whether the display implements an interlaced or progressivescan format, among other characteristics. Due to the increasingcomplexity and variation of DHCTs and television sets (and thus amultitude of characteristics to consider in processing a video signal),connecting a television set to, or otherwise communicating with, a DHCTand achieving a viewable picture and a desired display quality is oftena challenge to even the most technologically adept. Thus a need existsin the industry to address the aforementioned and/or other deficienciesand/or inadequacies.

BRIEF DESCRIPTION OF THE DRAWINGS

The disclosure can be better understood with reference to the followingdrawings. The components in the drawings are not necessarily to scale,emphasis instead being placed upon clearly illustrating the principlesof the present disclosure. Moreover, in the drawings, like referencenumerals designate corresponding parts throughout the several views.

FIG. 1 is a block diagram depicting an example subscriber televisionsystem (STS), in accordance with one embodiment of the disclosure.

FIG. 2 is a block diagram depicting an example headend shown in the STSof FIG. 1, in accordance with one embodiment of the disclosure.

FIG. 3A is a block diagram depicting an example digital homecommunication terminal (DHCT) shown in the STS of FIG. 1, which iscoupled to the example headend of FIG. 2 and a television, in accordancewith one embodiment of the disclosure.

FIG. 3B is a schematic diagram of the example remote control deviceshown in FIG. 3A, in accordance with one embodiment of the disclosure.

FIG. 4 is a flow diagram depicting an example method for determiningdisplay device characteristics, in accordance with one embodiment of thedisclosure.

FIGS. 5-7 are block diagrams of the example DHCT and the television setshown in FIG. 3A with a display screen that solicits user feedback basedon a plurality of output formats from the DHCT to the TV set, inaccordance with one embodiment of the disclosure.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The preferred embodiments of the disclosure now will be described morefully hereinafter with reference to the accompanying drawings. Thepreferred embodiments of the disclosure include systems and methods thatprovide an interactive session with a user to determine thecharacteristics of a television set or other display device coupled to adigital home communication terminal (DHCT).

Video formats can vary in picture size, frame rate, and on whetherpictures are progressive or interlaced. A progressive pictureconstitutes all the lines of a frame whereas an interlaced picture has atop field and bottom field of alternating lines to constitute a completeframe. An interlaced picture is displayed during respective fieldintervals. Video formats can further vary in other attributes orcharacteristics such as color format, color primaries, picturewidth-to-height aspect ratio, and width-to-height aspect ratio of theindividual picture elements, or pixels, that make-up the picture.

As a non-limiting example, the video formats of a compressed digitaltelevision signal processed in a DHCT for display include formatsspecified by ATSC (Advanced Television Systems Committee) DigitalTelevision Standard A/54 and include the characteristics describedabove. An analog television signal such as a NTSC (National TelevisionSystem Committee) television signal can be processed for display aswell.

As there are multiple video formats for a sourced television signal,there are also multiple physical output interfaces or connectors (orsimilarly, ports) in the DHCT from which a DHCT-processed televisionsignal can be output. The processed signal that is output through aphysical output interface complies with the format specification of thatinterface. An interface specification, such as a video interfacespecification, can also include mechanisms for providing ancillary data.For example, the provision of close-caption text within a video signalmay be part of the video interface specification.

In addition to possible differences in signaling and physicalcharacteristics, video interface specifications can differ in one ormore parameters that pertains to the characteristics of the videopicture. For instance, parameters that can differ in value in distinctvideo interface specifications include picture size, frame rate, whetherpictures are progressive or interlaced, color format, colorimetry,picture width-to-height aspect ratio, width-to-height aspect ratio ofpixels, and if and how ancillary data is provided.

A video interface specification can allow for one or more pictureparameters to take different values. For instance, the value of acolorimetry parameter may differ according to the video picture'scolorimetry. Furthermore, a video interface specification can supportmultiple sets of a combination of parameter values that specify thecharacteristics of the picture. The parameters that can take differentvalues in the multiple sets of a combination of parameters correspond tocharacteristics that may include picture size, frame rate, whetherpictures are progressive or interlaced, color format, colorimetry,picture width-to-height aspect ratio, width-to-height aspect ratio ofpixels, and if and where ancillary data is carried. For instance, theSMPTE (Society of Motion Picture and Television Engineers) 274specification supports multiple input and output picture formats, suchas 1920×1080 interlaced or progressive pictures, one of various framerates, and RGB or YPbPr encoded pixels. SMPTE 296 specifies 1280×720progressive pictures for input and output.

A physical output interface or connector can further serve to outputvideo signals corresponding to one or more video format specifications.For instance, the physical connector trio used to output componentanalog video as YPbPr could be configured to output a television signalas an RGB component analog video signal. As another non-limitingexample, a physical output interface can be used to output a televisionsignal compliant to SMPTE 274 or SMPTE 296.

It would be understood by those having ordinary skill in the art thatother specifications and/or standards can be used that will include thesame, fewer, more, or different parameters and yet be considered withinthe scope of the preferred embodiments of the disclosure. Consequently,a DHCT configured in accordance with the preferred embodimentsdetermines the video formats supported by the television set or otherdisplay device connected to the DHCT. Responsive to thesedeterminations, the DHCT can then set its video output format,resolution of graphics overlays, and closed caption support accordinglyand process sourced television signals accordingly.

The systems and methods of the preferred embodiments of the disclosurewill be described in the context of a subscriber television system, andparticularly, a DHCT that is connected to a TV set, although othersystems that include communication with an interactive display areconsidered to be within the scope of the disclosure. Additionally,reference herein will be made to physical output ports with theunderstanding that physical output ports include ports, connectors, andphysical interfaces, including wireless interfaces. Since the preferredembodiments of the disclosure can be understood in the context of asubscriber television system, one such example system is describedbelow, with further description of the DHCT and headend components.Following the description of these components is an example method ofthe preferred embodiments of the disclosure, followed by someillustrations of some example interactive sessions of a discoveryprocedure that can be used to determine the display devicecharacteristics to enable a quality picture to be displayed.

The disclosure may, however, be embodied in many different forms andshould not be construed as limited to the embodiments set forth herein;rather, these embodiments are provided so that this disclosure will bethorough and complete, and will fully convey the scope of the disclosureto those of ordinary skill in the art. Furthermore, all “examples” givenherein are intended to be non-limiting and among others not shown butunderstood to be within the scope of the disclosure.

I. Subscriber Television System

FIG. 1 is a block diagram depicting an example subscriber televisionsystem (STS) 10, in accordance with one embodiment of the disclosure. Inthis example, the STS 10 includes a headend 11 and a digital homecommunication terminal (DHCT) 16 that are coupled via a communicationsnetwork 18. It will be understood that the STS 10 shown in FIG. 1 ismerely illustrative and should not be construed as implying anylimitations upon the scope of the preferred embodiments of thedisclosure. For example, although single components (e.g., a headend 11and a DHCT 16) are illustrated in FIG. 1, the STS 10 can feature aplurality of any one of the illustrated components, or may be configuredwith alternative embodiments for any one of the individual components orwith yet other additional components not enumerated above. Subscribertelevision systems also included within the scope of the preferredembodiments of the disclosure include systems not utilizing physicalstructured cabling for transmission, such as, but not limited to,satellite systems and terrestrial-broadcast systems.

The DHCT 16 is typically situated at the residence or place of businessor recreation of a user and may be a stand-alone unit or integrated intoa television set, a personal computer, or other display devices, or anaudio device, among other media devices. The DHCT 16 receives content(video, audio and/or other data) from the headend 11 through the network18 and in some embodiments, provides reverse information to the headend11 through the network 18.

The headend 11 receives content from one or more content providers (notshown), including local providers. The content is processed and/orstored and then transmitted to client devices such as the DHCT 16 viathe network 18. The headend 11 may include one or more server devices(not shown) for providing content to the DHCT 16. The headend 11 and theDHCT 16 cooperate to provide a user with television services via atelevision set (not shown). The television services may include, forexample, broadcast television services, cable television services,premium television services, video-on-demand (VOD) services, and/orpay-per-view (PPV) services, among others.

II. Headend

FIG. 2 is an overview of one example headend 11, which provides theinterface between the STS 10 (FIG. 1) and the service and contentproviders. The overview of FIG. 2 is equally applicable to a hub (notshown), and the same elements and principles may be implemented at a hubinstead of the headend 11. It will be understood that the headend 11shown in FIG. 2 is merely illustrative and should not be construed asimplying any limitations upon the scope of the preferred embodiments ofthe disclosure. The headend 11 receives content from a variety ofservice and content providers, which can provide input in a variety ofways. The headend 11 combines the content from the various sources anddistributes the content to subscribers via the distribution systems ofthe network 18.

In a typical system, the programming, services and other informationfrom content providers can be distributed according to a variety ofmechanisms. The input signals may be transmitted from sources to theheadend 11 via a variety of transmission paths, including satellites(not shown) and terrestrial broadcast transmitters and antennas (notshown). The headend 11 can also receive content from a direct feedsource 210 via a direct line 212. Other input sources from contentproviders include a video camera 214, an analog input source 208, and/oran application server 216. The application server 216 may include morethan one line of communication. One or more components such as theanalog input source 208, the direct feed source 210, the video camera214, and the application server 216 can be located external to theheadend 11, as shown, or internal to the headend 11 as would beappreciated by one having ordinary skill in the art. The signalsprovided by the content or programming input sources can include asingle content instance (e.g., a program episode or show) or a multiplexthat includes several content instances.

The headend 11 generally includes one or more receivers 218 that areeach associated with a content source. MPEG (Motion Picture ExpertsGroup) encoders, such as encoder 220, are included for digitallyencoding local programming or a real-time feed from the video camera 214or the like. The encoder 220 outputs the respective compressed video andaudio streams corresponding to the analog audio/video signal received atits input. For example, the encoder 220 can output formatted MPEG-2 orMPEG-1 packetized elementary (PES) streams or transport streamscompliant to the syntax and semantics of the ISO (InternationalOrganization for Standardization) MPEG-2 standard, respectively. The PESor transport streams may be multiplexed with input signals from a switch230, receiver 218 and control system 232. The multiplexing logic 222processes the input signals and multiplexes at least a portion of theinput signals into a transport stream on connection 240. Analog inputsource 208 can provide an analog audio/video broadcast signal that canbe input into a modulator 227. From the modulator 227, a modulatedanalog output signal can be combined at combiner 246 along with othermodulated signals for transmission into transmission medium 250.Alternatively, analog audio/video broadcast signals from the analoginput source 208 can be input into the modulator 228. Alternatively, ananalog audio/video broadcast signal can be input directly from themodulator 227 to the transmission medium 250. The analog broadcastcontent instances are transmitted via respective RF channels, eachassigned for transmission of an analog audio/video signal such as NTSCvideo.

A switch, or switches, such as asynchronous transfer mode (ATM) switch230, provide an interface to an application server 216. There can bemultiple application servers 216 providing a variety of services such asa pay-per-view service, including video on demand (VOD), a data service,an Internet service, a network system, or a telephone system. Serviceand content providers may download content to an application serverlocated within the STS 10. The application server 216 may be locatedwithin the headend 11 or elsewhere within the STS 10, such as in a hub.The various inputs into the headend 11 are then combined with the otherinformation from the control system 232, which is specific to the STS10, such as local programming and control information, which caninclude, among other things, conditional access information. The headend11 contains one or more modulators 228 to convert the received transportstreams on connection 240 into modulated output signals suitable fortransmission over the transmission medium 250 through the network 18.Each modulator 228 may be a multimodulator including a plurality ofmodulators, such as, but not limited to, QAM (quadrature amplitudemodulation) modulators, that radio frequency modulate at least a portionof the transport streams on connection 240 to become output transportstreams on connections 242. The output signals on connections 242 fromthe various modulators 228 or multimodulators are combined, usingequipment such as the combiner 246, for input into the transmissionmedium 250, which is sent via the in-band delivery path 254 tosubscriber locations, such as the DHCT 16.

In one embodiment, the server 216 also provides various types of data onconnections 288 a, 288 b to the headend 11. The data, in part, isreceived by the media access control (MAC) functions 224 that outputMPEG transport packets containing data on connections 266 a, 266 binstead of digital audio/video MPEG streams. The control system 232enables the television system operator to control and monitor thefunctions and performance of the STS 10. The control system 232interfaces with various components, via communication link 270, in orderto monitor and/or control a variety of functions, including thefrequency spectrum lineup of the programming for the STS 10, billing foreach subscriber, and conditional access for the content distributed tosubscribers. Information, such as conditional access information, iscommunicated from the control system 232 to the multiplexing logic 222where it is multiplexed into a transport stream provided on connection240.

Among other things, the control system 232 provides input to themodulator 228 for setting operating parameters, such as selectingcertain content instances or portions of the transport streams forinclusion in one or more output transport stream on connections 242,system specific MPEG table packet organization, and/or conditionalaccess information. Control information and other data can becommunicated to hubs and DHCTs 16 via an in-band delivery path 254 orvia an out-of-band delivery path 256.

The out-of-band data is transmitted via the out-of-band forward datasignal (FDS) 76 of the transmission medium 250 by mechanisms such as,but not limited to, a QPSK (quadrature phase-shift keying) modem array226. Two-way communication utilizes the reverse data signal (RDS) 80 ofthe out-of-band delivery path 256. Hubs and DHCTs 16 transmitout-of-band data through the transmission medium 250, and theout-of-band data is received in the headend 11 via the out-of-band RDS80. The out-of-band data is routed through router 264 to the applicationserver 216 or to the control system 232. The out-of-band controlinformation includes such information as, among many others, apay-per-view purchase instruction and a pause viewing command from thesubscriber location to a video-on-demand type application server locatedinternally or external to the headend 11, such as the application server216, as well as any other data sent from the DHCT 16 or hubs, all ofwhich will preferably be properly timed.

The control system 232 also monitors, controls, and coordinates allcommunications in the subscriber television system 10 (FIG. 1),including video, audio, and data. The control system 232 can be locatedat the headend 11 or remotely. The control system 232 also includes abroadcast file system (BFS) server 202 that provides content to the DHCT16. A broadcast file system preferably carries data formatted indirectories and files by the BFS server 202, which is used for producingand transmitting data streams throughout the STS 10, and which providesan efficient means for the delivery of application executables andapplication content (e.g., data) to the DHCT 16. In particular, the BFSserver 202 and its counterpart, a BFS client module 343 in the DHCT 16,are part of the broadcast file system. The BFS server 202 repeatedlysends content to the DHCT 16 over a period of time in a cyclical mannerso that the DHCT 16 may access the content as needed.

The transmission medium 250 distributes signals from the headend 11 tothe other elements in the subscriber television system 10 (FIG. 1), suchas a hub, a node (not shown), and subscriber locations. The transmissionmedium 250 can incorporate one or more of a variety of media, such asoptical fiber, coaxial cable, and HFC, satellite, direct broadcast, orother transmission media.

III. DHCT and Remote Control Device

FIG. 3A is a block diagram illustration of an example DHCT 16 that iscoupled to the headend 11 and a television set 341, in accordance withone embodiment of the disclosure. It will be understood that the DHCT 16shown in FIG. 3A is merely illustrative and should not be construed asimplying any limitations upon the scope of the preferred embodiments ofthe disclosure. For example, some of the functionality performed byapplications executed in the DHCT 16 (such as the IPG application 397)may instead be performed completely or in part at the headend 11 andvice versa, or not at all in some embodiments. A DHCT 16 may be astand-alone unit or integrated into another device such as, for example,a television set or a personal computer or other display devices or anaudio device, among others. The DHCT 16 preferably includes acommunications interface 342 for receiving signals (video, audio and/orother data) from the headend 11 through the network 18, and provides forreverse information to the headend 11 through the network 18.

The DHCT 16 preferably includes one or more processors, such asprocessor 344, which controls the functions of the DHCT 16 via areal-time, multi-threaded operating system (O.S.) 353 that enables taskscheduling and switching capabilities. The DHCT 16 also includes a tunersystem 345 comprising one or more tuners for tuning into a particulartelevision channel or spacing in the radio-frequency spectrum to displaycontent and for sending and receiving various types of content to andfrom the headend 11. The tuner system 345 can select from a plurality oftransmission signals provided by the subscriber television system 10(FIG. 1). The tuner system 345 enables the DHCT 16 to tune to downstreamcontent transmissions, thereby allowing a user to receive digital and/oranalog content delivered in the downstream transmission via thesubscriber television system 10. The tuner system 345 includes, in oneembodiment, an out-of-band tuner for bi-directional QPSK (or QAM in someembodiments) communication and one or more QAM tuners (in band) forreceiving television signals. Additionally, a receiver 346 receivesexternally generated information, such as user inputs or commands froman input device, such as a remote control device 380.

FIG. 3B is a schematic diagram of the example remote control device 380illustrated in FIG. 3A, in accordance with one embodiment of thedisclosure. The example remote control device 380 includes a selectbutton 386 for making selections on a display screen, navigation buttons385 for navigating within a particular display screen, a menu button 388for accessing other screens, such as a general settings screen, and aquick settings button 387 to access a quick settings display screenwherein various parameters can be changed. In one embodiment, the remotecontrol device 380 further includes a TV capabilities query button 381that, when selected, enables a user to invoke a discovery procedure thatprompts a series of user interfaces for determining characteristics ofthe TV set 341. In addition, the remote control device 380 can include acycle button 383 that, when selected, cycles the DHCT output of aprocessed television signal between two or more preset formats fordriving the TV set 341 through one or more physical output connections.The preset formats are preferably set by the user during the discoveryprocedure. Many alternative methods of providing user input may be usedincluding a remote control device with different buttons and/or buttonlayouts, a keyboard device, a voice activated device, etc. Theembodiments of the disclosure described herein are not limited by thetype of device used to provide user input.

Referring again to FIG. 3A, the DHCT 16 processes analog and/or digitaltransmission signals for storage in a storage device 373 such as anoptical or hard disk drive, and/or for display to the television set341. The DHCT 16 preferably includes a signal processing system 314 anda media engine 330. One or more of the systems of the signal processingsystem 314 can be implemented with software, a combination of softwareand hardware, or preferably in hardware. The signal processing system314 includes a demodulating system 316 and a demultiplexer/parser 318.The demodulating system 316 comprises functionality for demodulating ananalog transmission signal or a differently modulated signal carryingdigital transmission signals or information. For instance, thedemodulating system 316 can demodulate a signal in the tuned frequencyspacing that was modulated, among others, as a QAM-modulated signal thatcarries compressed digital television signals or information. Thedemultiplexer/parser 318 can include MPEG-2 transport demultiplexing.For example, when tuned to frequency spacings carrying a digitaltransmission signal, the demultiplexer/parser 318 enables the separationof packets of data corresponding to one or more desired video and audiostreams of one or more television signals for further processing.Concurrently, the demultiplexer/parser 318 precludes further processingof packets in the multiplexed transport stream that are irrelevant ornot desired, such as packets of data corresponding to other videostreams. Thus, the components of the signal processing system 314 arecapable of QAM demodulation, forward error correction, anddemultiplexing of MPEG-2 transport streams, and parsing of elementarystreams and packetized elementary streams. Additional components, notshown, include conditional access components, as well as, among others,an analog video decoder for processing an analog transmission signaland, in one implementation, a compression engine for converting adecoded analog transmission signal to compressed audio and video streamsthat are produced in accordance with the syntax and semantics of adesignated audio and video coding method, such as specified by theMPEG-2 audio and MPEG-2 video ISO standard, among others.

The signal processing system 314 outputs packetized compressed streamsand presents them as input for storage in the storage device 373, or inother implementations, as input to the media engine 330 fordecompression by a video decoder (or video decompression engine) 333 andan audio decoder (or audio decompression engine) 332 for display on theTV set 341 via the output system 331 and output connections 340. Onehaving ordinary skill in the art will appreciate that the signalprocessing system 314 will preferably include other components notshown, including memory, decryptors, samplers, digitizers (e.g.,analog-to-digital converters), and multiplexers, among other components.Further, it will be understood that one or more of the components listedabove will interface with the processor 344 and/or system memory 349(and/or dedicated memory for a particular component) to facilitate datatransfer and/or processing of the video and/or audio signal for displayand/or storage.

The media engine 330 includes the digital video decoder 333, digitalaudio decoder 332, a memory controller 334, a blitter 337, and theoutput system 331. The media engine 330 is capable of graphics datageneration and graphics data processing capabilities with functionalmodules such as the blitter 337, which is a functional 2-D (i.e.,2-dimensional) DMA (Direct-Memory-Access) module, often referred to as ablit engine. The functionality in the blitter 337 allows for graphicaldata or image data stored in a media memory 329 or system memory 349 tobe read into the media engine 330, processed, and written back (i.e.output) to memory. The graphical data or image data is read in somepredetermined 2-D order, such as raster scan order, and processed insystematic, pipelined-fashion through one or more functional elements inthe blitter 337. Processing through the blitter 337 can cause one ormore pixels of the input image to be changed to a new value. The outputimage to memory is representative of a pre-specified set of blitteroperations.

During the course of program execution, the processor 344 writesoperation settings and/or parameters to registers in the media engine330 to effect one or more operations in one or more input images to beprocessed through the blitter 337. Typically, the processor 344 sets theregisters prior to invoking the blit operation.

According to the mode set for the blit operation, the number of inputpixels read from an input image in a blit operation may be less than,equal to, or more than the number of output pixels produced and writtenback to memory. According to the mode set in registers, a blit operationmay comprise of reading multiple input images to produce an outputimage, such as an alpha-blending operation on two input images. A blitoperation may be also set to produce more than one output image. A blitoperation may further be set to process pixels of an input imageconditionally (e.g., only if they have a certain value or meet certainconditions).

Blitter functionality further includes a scaling capability that can beemployed to effect vertical and/or horizontal scaling of an input image.Thus, an input image can be upscaled or downscaled according to theoperational mode and parameters written to the corresponding blitterregisters. Such scaling operations can be used to modify the aspectratio of an input image, for example, from a 4 by 3 aspect (i.e., 4:3)ratio (horizontal to vertical ratio) to a 16 by 9 (i.e., 16:9) aspectratio. Furthermore, the blitter 337 can be set to perform colorconversion or alter the color of an input image.

The scaling functionality in the blitter 337 can be performed withsample-rate converters or scaling filters of multiple taps and phases,as known to those practicing digital signal processing in thestate-of-art.

As described previously, the blitter 337 is capable of scaling an inputimage with a 4:3 aspect-ratio to another aspect-ratio, such as a 16:9,although often at the expense of introducing distortion. The blitter 337can further be set for the blit operation to crop the boundaries of theinput image, prior to conducting the scaling operation, by simplyomitting to read (or input) parts of the input image from memory. Theblitter 337 can also crop the boundaries of the input image it isprocessing after conducting the scaling operation by simply omitting towrite (or output) parts of the input image to memory. For instance, theblitter 337 is capable of processing an image and cropping it byomitting to write to media memory 329 a pre-specified top and bottomportion or rectangular sections. The left and right exterior portions,or pillars, of an input image can be similarly cropped.

As described previously, the blitter 337 possesses capability to performcolor conversion on each pixel of the input graphical data from onecolor format to another color format. For example, color conversion maycomprise converting an input image from an RGB color format to a YPbPrcolor format, or vice-versa.

Color conversion may also comprise conversion between color primariesspecifications, such as from the color primaries specified in ITU-R(International Telecommunication Union-Radiocommunication)Recommendation BT.601 to the color primaries specified ITU-RRecommendation BT.709. In one embodiment, color conversion is employedto create an image that is displayed during an interactive discoveryphase to determine the color “temperature” of a TV set or displayattached to the DHCT 16.

The blitter 337 further possesses capability to perform a colortransformation that represents a non-linear transfer-function from inputto output to correct for the perceived intensity (i.e., lightness) ofthe type of TV set 341 or display driven by the DHCT 16. This colortransformation could be for the purpose of what is often called bypractitioners in the state of the art as gamma correction (i.e.,correction of perceived intensity), or the color transformation can befor other purposes that assist in the TV discovery phase.

All aforementioned blitter operations as well as other blitteroperations, as a whole or any combination thereof, may be employed tocreate images for use during the TV discovery phase.

The media engine 330 processes and feeds data for output via the outputsystem 331 to a television set 341. The output system 331 is configured(e.g., by the processor 344) to convert processed video and graphicalpictures that are composited by the media engine 330 to a video signalfor output, such signal consistent with the format and signalingspecification of a port in the set of physical output ports 340 in theDHCT 16. As an example, the output system 331 includes a digital videoencoder (DENC) 336 that converts reconstructed video data (or pictures)fed (or otherwise received) at its input to an analog video signal thatis output through a port in the set of physical output ports 340 todrive a TV display connected to the DHCT 16. In one embodiment, the sameoutput video signal is output simultaneously through a plurality ofports in the set of physical output ports 340.

The set of physical output ports 340 may comprise of physical connectorsfor which one end of a corresponding physical cable is attached to,while the opposite end of the cable is attached to a correspondingphysical connector in the TV set 341 (or display). A physical connectorin the set of physical output ports 340 may also be a wirelesstransmitter or emitter device that emits the video signal to acorresponding wireless receiver in the TV set 341. An auxiliary device,such as a second TV display, may be also be connected between the DHCT16 and the TV set 341 through a second set of corresponding connectors.

A physical connector in the set of physical output ports 340 may alsoserve as both input and output, as input, or as an asymmetricaloutput-input port wherein video and audio are output to the TV set 341and the TV set's display status and/or capabilities, characteristics, orattributes are input to the DHCT 16.

Data is fed to one of the physical output ports 340 sourced from themedia engine memory 329 or memory 349 in a manner to produce a rasterscan of displayed pixels consistent with the interface or port of thephysical output ports 340 in which the display type is connected to theDHCT 16. As is described below, the output system 331, under thedirection of a display manager 335 and in cooperation with the processor344 and operating system 353, provides a formatted signal to one or moreports of the physical output ports 340 that are coupled to correspondinginputs (not shown) at the TV set 341, or at other devices such as a VCR,among others. The physical output ports 340 include a RGB port, aS-Video port, a channel 3/4 port, a baseband port, component analogport, and/or a YPbPr port. TV signals are formatted by the DHCT 16according to well-known video interface specifications. For example, TVsignals routed to the baseband port are formatted by the DHCT 16according to a baseband video format specification. Baseband video canbe analog NTSC (or PAL or SECAM) baseband video. Similarly, TV signalsrouted to the Ch. 3/4 RF (radio frequency) output port are formatted asRF. The S-video port is for S-video, which is the same as baseband videoexcept that the luminance and chroma are transferred on separate wires.YPrPb is an analog component interface that is popular in early HDTVdisplays. It couples luminance (Y) and two color difference signals (Prand Pb) to the display device. The same components when digitized arereferred to as Y, Cr and Cb. Other connections of the physical outputports 340 include a digital video interface (DVI) to drive a TV set ordisplay that receives non-compressed digital TV signals at its input,and/or an IEEE-1394 interface (not shown) to drive a TV set or displaywith a possibly-compressed digital TV signal, among others. DVI is adigital interface often used to transmit HDTV signals to a display. Insome embodiments, some interfaces, such as the DVI interface orinterfaces or ports not shown, can be bi-directional.

A display buffer (not shown) in media memory 329 is designated for thedisplayable graphical data. The memory controller 334 in the mediaengine 330 grants access to transfer data from system memory 349 orother sections of media memory 329 to the display buffer in a timely waythat safeguards from the generation of tear artifacts on the TV display.For instance, data transfer can be granted to locations in the displaybuffer corresponding to locations already passed by the raster-scanordered data fed from the display buffer into the DENC 336. Thus, datawritten to the display buffer is always behind (in raster-scan order)the display buffer locations read and fed into the output system 331.Alternatively, data can be written to a secondary display buffer (notshown), also called an off-screen or composition buffer and the displaybuffer and the off-screen buffer can be logically swapped, for example,during the vertical blanking interval of the output TV signal.

Under the arbitration of the memory controller 334, the audio decoder332 and the video decoder 333 decode the compressed audio and videosignals stored in compressed buffers (not shown) in the media memory 329to obtain the corresponding audio and video data in an uncompressedformat. The reconstructed or uncompressed audio and video data arestored in uncompressed buffers (not shown) in the media memory 329. Theprocess of decoding is coordinated by the memory controller 334 suchthat each of the decoders 332 and 333 are granted access orauthorization every time the respective decoder imports data from orexports data to the media memory 329. Data stored in the decoded buffersmay be fed to the output system 331 and the audio output system (notshown) under the arbitration of the memory controller 334. The audiooutput system may be part of the output system 331 and may includedigital-to-analog converters (DACs).

The output system 331, for instance, includes a DENC 336 that provides avideo output via physical output ports 340 while the audio DAC (notshown) provides an audio output via an audio connection (not shown). Thevideo signal, which has been converted and possibly composited withgraphics, is formatted appropriately for output via the output system331 in cooperation with the display manager 335, operating system 353,and processor 344, in accordance with a video interface type and a videoformat of the display device that is receiving the video output (e.g.,high definition television (HDTV), NTSC or phase alternate line (PAL)).

The output system 331 comprises capabilities to convert processed videoand graphical pictures simultaneously for output. A video displaypipeline (VPipe) 338 in the output system 331 receives (or is fed) videopictures from the media memory 329 and processes the pictures for outputin a systematic fashion. In one embodiment, the video display pipeline338 includes (not shown) one or more line buffers and verticalsample-rate converters to effect vertical resizing, horizontalsample-rate converters to effect horizontal resizing, and/or in-linecolor-conversion capabilities. Furthermore, the video display pipeline338 may include memory and circuit logic (programmable in someembodiments) to effect picture de-interlacing of interlaced pictures fordisplay as progressive or as larger interlaced pictures. Thede-interlacing process may involve the access of the media memory 329 toread a plurality of lines from one or more fields corresponding to oneor more consecutive video pictures from a TV signal to process them andgenerate each line of a converted video picture.

A graphics display pipeline (GPipe) 339 in the output system 331receives (or is fed) graphical pictures or data from a display buffer inmedia memory 329 and processes the images for output in a systematicfashion. The graphics display pipeline 339 may include (not shown) oneor more line buffers and/or vertical scalers (e.g., sample-rateconverters) to effect vertical resizing. The graphics display pipeline339 can also have horizontal scalers or sample-rate converters to effecthorizontal resizing, and/or in-line color-conversion capabilities toeffect color conversion.

The output system 331 further includes programmable digital logic andcontrol circuitry (not shown), among other circuitry, to overlay orcomposite the converted graphical picture at the end of the graphicsdisplay pipeline over the converted video picture at the end of thevideo display pipeline 338 (or vice versa). The converted graphicalpicture and the converted video picture may be composited with a commoncenter but do not have to be of the same picture resolution. Forinstance, the converted video picture may span a 1280×720 picture of16:9 aspect ratio while the graphical picture may span a 960×720 pictureof 12:9 (or equivalently 4:3) aspect ratio.

The output system 331 further comprises programmable digital logic andcontrol circuitry (not shown) to enable and disable the video displaypipeline 338, to enable and disable the graphics display pipeline 339,and/or to alpha blend the spatially corresponding pixels output by thetwo respective display pipelines 338,339 to appear as a mix (ortranslucent) picture that is output to the TV set 341. Some pixels inthe graphical picture may have a transparent color value.

The output system 331 preferably generates a TV signal for output to theTV set 341 according to the specification of the video interface usedfor a particular output port 340. If the video display pipeline 338 isdisabled, a graphical picture is displayed on the screen of TV set 341.If the graphical display pipeline 339 is disabled, the video picture(e.g., from a tuned TV channel, from the storage device 373, etc.) isdisplayed on the TV set 341. In one embodiment, the DHCT 16 performs aninteractive discovery session to find the TV set display or TV setcharacteristics by outputting simultaneously a TV signal through a firstoutput port of the physical output ports 340 and another TV signalthrough a second output port of the physical output ports 340. Forexample, a first video display pipeline (not shown) of the video displaypipeline 338 in the output system 331 is employed to convert a videopicture for output through the aforementioned first output port of thephysical output ports 340 and a second video display pipeline (notshown) of the video display pipeline 338 in the output system 331 isemployed to convert the same or different video picture for outputthrough the aforementioned second output port of the physical outputports 340.

In another embodiment, a first video display pipeline (not shown) of thevideo display pipeline 338 and a first graphics display pipeline (notshown) of the graphics display pipeline 339 in the output system 331 areemployed during the discovery phase to output a TV signal through anoutput port (e.g., a first output port) of the physical output ports 340as either a video picture or as a composition of a video picture and agraphical picture. A second video display pipeline (not shown) of thevideo display pipeline 338 in the output system 331 is employed tooutput a TV signal through another (e.g., a second) output port of thephysical output ports 340.

In another embodiment, a second graphics display pipeline (not shown) ofthe graphics display pipeline 339 is also employed (along with a secondvideo display pipeline) during the discovery phase to output a TV signalthrough the second output port as either a video picture or as acomposition of a video picture and a graphical picture.

The DHCT 16 can include one or more storage devices, such as storagedevice 373, preferably integrated into the DHCT 16 through an interface375 (e.g., IDE (integrated drive electronics) or SCSI (small computersystem interface), etc.), or externally coupled to the DHCT 16 via acommunication port 374. The communication port 374 can be a wireless orwired interface, and is for receiving and/or transmitting data to otherdevices. For instance, the DHCT 16 may feature USB (Universal SerialBus), Ethernet (for connection to a computer), IEEE-1394 (for connectionto media content devices in an entertainment center), serial, and/orparallel ports. The storage device 373 can be optical (e.g. read/writecompact disc), but is preferably a hard disk drive. The storage device373 includes one or more media, such as a hard disk 301. A storagedevice controller 379 in the storage device 373 of DHCT 16, incooperation with a device driver 311 and the operating system 353,grants access to write data to or read data from the local storagedevice 373. The processor 344 can transfer content (e.g., data) frommemory 349 to the local storage device 373 or from the local storagedevice 373 to the memory 349 by communication and acknowledgement withthe storage device controller 379.

In one embodiment, data stored, written, and retrieved from the storagedevice 373 includes one or more images to be processed during adiscovery phase to determine the type of TV set or display attached toor otherwise in communication with the DHCT 16 and the characteristicsof the TV set or display. Data stored in the storage device 373 can alsoinclude one or more sets of audio samples to be played back during thediscovery phase. For example, the audio samples can be speechinstructions or other types of audio. One or more picture sequences canalso to be stored and retrieved in the storage device 373 for use duringthe discovery phase.

In one embodiment, data stored, written, and retrieved from storagedevice 373 includes one or more images to be displayed as a graphicalpicture during a discovery phase to determine the type of TV set ordisplay attached to the DHCT 16 and the characteristics of the same.Data stored in the storage device 373 can also include one or more setsof audio samples to be played back during the discovery phase. One ormore picture sequences can also to be stored and retrieved in thestorage device 373 for use during the discovery phase. The storagedevice 373 can include graphical pictures and video picture sequences ofdifferent characteristics such as pictures of different picture aspectratios, different colorimetry, different gammas, and/or different pixelaspect ratio, among other characteristics. Distorted pictures andpictures with, for example, side blank pillars, blank top and bottomrectangular regions, or a box with blanked rectangular regions may alsobe stored in the storage device 373 for employment during the discoveryphase.

The DHCT 16 includes memory 349, which includes volatile and/ornon-volatile memory, for storing various applications, modules and datafor execution and use by the processor 344. Basic functionality of theDHCT 16 is provided by an operating system 353. Among other things, theoperating system 353 includes a resource manager 367 that provides aninterface to resources of the DHCT 16 such as, for example, computingresources, and a broadcast file system (BFS) client 343 that cooperateswith the BFS server 202 (FIG. 2) to receive data and/or applicationsthat are delivered from the BFS server 202 in a carousel fashion. Theoperating system 353 further includes one or more device drivers, suchas device driver 311, that works in cooperation with the operatingsystem 353 to provide operating instructions for communicating withperipheral devices.

Data to be used during the discovery phase can be transmitted to andreceived by the DHCT 16 as one or more files using the broadcast filesystem (via BFS server 202 (FIG. 2) and BFS module 343). Data canfurther be stored in the storage device 373 prior to exercising thediscovery phase.

One or more programmed software applications, herein referred to asapplications, are executed by utilizing the computing resources in theDHCT 16. Note that an application typically includes a client part and aserver counterpart that cooperate to provide the complete functionalityof the application. The applications may be resident in memory 349 orthe storage device 373, or stored in a combination of memory 349 andstorage device 373. Applications stored in memory 349 (or storage device373) are executed by the processor 344 (e.g., a central processing unitor digital signal processor) under the auspices of the operating system353. Data required as input by an application is stored in memory 349 orthe storage device 373 (or a combination) and read by the processor 344as needed during the course of the application's execution.

Input data may be stored in memory 349 by a secondary application orother source, either internal or external to the DHCT 16, or possiblyanticipated by the application and thus created with the application atthe time it was generated as a software application. Data generated byan application is stored in memory 349 by the processor 344 during thecourse of the application's execution, or if required, transferred tothe storage device 373 from memory 349 by the processor 344 during thecourse of the application's execution. The availability of data,location of data, whether in memory 349 or in the local storage device373, and the amount of data generated by a first application forconsumption by a secondary application is communicated by messages.Messages are communicated through the services of the operating system353, such as interrupt or polling mechanisms or data sharing mechanismssuch as semaphores.

An application referred to as a navigator 355 is resident in memory 349.The navigator 355 provides a navigation framework for services providedby the DHCT 16. For instance, the navigator 355 includes corefunctionality such as volume and configuration settings. The navigator355 preferably handles signals invoked from the channel navigationbuttons on the remote control device 380.

The memory 349 also contains a platform library 356. The platformlibrary 356 is a collection of utilities useful to applications, such asa timer manager, a compression manager, a configuration manager, an HTMLparser, a database manager, a widget toolkit, a string manager, andother utilities (not shown). These utilities are accessed byapplications via application programming interfaces (APIs) as necessaryso that each application does not have to contain these utilities. Twocomponents of the platform library 356 that are shown in FIG. 3A are awindow manager 359 and a service application manager (SAM) client 357.Note that in some embodiments, one or more of the platform librarycomponents may be resident in the operating system 353. The windowmanager 359 provides a mechanism for implementing the sharing of thedisplay device screen regions and user input. The window manager 359 inthe DHCT 16 is responsible for, as directed by one or more applications,implementing the creation, display, and de-allocation of the limitedDHCT screen resources. It allows multiple applications to share thescreen by assigning ownership of screen regions, or windows.

The window manager 359 also maintains, among other things, a user inputregistry 350 in memory 349 so that when a user enters a key or a commandvia the remote control device 380 or another input device such as akeyboard or mouse, the user input registry 350 is accessed to determinewhich of various applications running on the DHCT 16 should receive datacorresponding to the input key and in which order.

The SAM client 357 is a client component of a client-server pair ofcomponents, with the server component being located in the headend 11,typically in the control system 232 (FIG. 2), although not shown. A SAMdatabase 360 (i.e. structured data such as a database or data structure)in memory 349 includes a data structure of services and a data structureof channels that are created and updated by the headend 11. Herein,database will refer to a database, structured data or other datastructures as is well known to those of ordinary skill in the art. TheSAM client 357 also interfaces with the resource manager 367 to controlresources of the DHCT 16. Many services can be defined using the sameapplication component, with different parameters. Examples of servicesinclude, without limitation and in accordance with one implementation,presenting television programs (available through a WatchTV application362), pay-per-view events (available through a PPV application (notshown)), digital music (not shown), media-on-demand (available throughan MOD application (not shown)), and an interactive program guide (IPG)(available through an IPG application 397).

In the example DHCT 16 depicted in FIG. 3A, memory 349 also includes aweb browser application 366 for providing web browsing services and apersonal video recording (PVR) application 377 for providing personalvideo recording services. It should be clear to one with ordinary skillin the art that these applications are not limiting and merely serve asexamples for this present embodiment of the disclosure. Theseapplications, and others provided by the cable system operator, are toplevel software entities on the network for providing services to theuser.

An executable program or algorithm corresponding to an operating system(OS) component, or to a client platform component, or to an application,or to respective parts thereof, can reside in and execute out of memory349 and/or the storage device 373. Likewise, data input into or outputfrom any executable program can reside in memory 349 and/or the storagedevice 373.

IV. Example Method for Determining Display Device Characteristics

As described above, there are many possible video formats that arereceived by the DHCT 16 and converted to a television signal compliantwith the appropriate video interface specification for the respectiveport of the physical output ports 340. For example, ATSC includes 18different video formats, which include parameters for the amount ofactive lines, total lines, horizontal pixels (e.g., pixels per line),aspect ratio (e.g., 16:9 or 4:3), vertical rate, frame rate, scan type(progressive or interlaced), and type of TV set (e.g., SDTV or HDTV)that a particular format is best suited for. For a TV set capable ofsourcing a TV signal through more than one video interface or with avideo interface that supports more than one video format, the nature ofthe picture displayed on a TV screen (or other display screen) can varydepending on what format the DHCT 16 configures the output signal (e.g.,output from the output ports 340 to the TV set 341) to be. Accurateassumptions about the characteristics of the TV set 341 or display canbe made based on the nature of the picture displayed in response to thevideo format of the television signal fed to the TV set 341 from theDHCT 16. Although the DHCT 16 does not know what type of TV set it isconnected to, nor the characteristics of that TV set, it can output somepredefined video formats and query the user about what he or she sees.Based on the response of the user, not only can the DHCT 16 determinethe characteristics of the TV set connected (e.g., aspect ratio, colortemperature, gamma characteristics, etc.), but also provide for a finetuning of the picture quality that improves what the user sees. Notethat in some embodiments some of these characteristics may be input bythe user in response to a query by the DHCT 16 (e.g., the DHCT 16 canprompt questions on the TV display, such as “what type of TV do youhave? year made? model number? manufacturer?,” etc.).

Even if characteristics are input by a user, a discovery phase may stillbe employed where, for example, a TV set 341 has multiple interfaces toreceive the output TV signal from the DHCT 16 and the user may havepre-configured the TV set 341 to a user-specific set of preferences. Forinstance, a user may opt to pre-configure a TV set 341 with a physicalscreen (e.g., the glass portion of the screen, screen portion of aprojection TV, etc.) having a 4:3 aspect ratio using the TV set'ssettings to display a 16:9 TV signal received from the DHCT 16 in one ofmultiple configurable displayable ways. That is, the user can set a 16:9TV signal to be displayed as, for example, a letterboxed picture (e.g.,blank top and bottom portions envelope picture), as a distorted picture,or as a full-screen picture without distortion but with the left- andright-most portions cropped.

An interactive session(s) (or application(s)) that serves as a discoveryphase according to an embodiment of the disclosure is executed uponpower-up, or at other times such as when the user hooks up a differentTV set to the DHCT 16, to determine the capabilities of the TV set 341coupled to the DHCT 16. The discovery phase can be viewed as comprisingtwo phases. Phase I includes determining how the TV set 341 can bedriven. The TV set 341 can be a high definition television (HDTV) set, anational television systems committee (NTSC) set, or a PAL set. It is inphase I that the sourced TV signal received at the tuner system 345 ofthe DHCT 16 is mapped to a corresponding output of the DHCT 16 (and thuscorresponding input of a TV set 341). For example, through one or moreinteractive sessions with the user, the DHCT 16 (or user) may decidethat when the DHCT 16 is tuned to SD (standard definition) or NTSCchannels, the signal is to be processed and fed through the basebandport or S-video port of the physical output ports 340. Similarly, if theDHCT 16 is tuned to an HD channel, the DHCT 16 (or user) may determinethat the signal is to be processed and fed through the YPbPr port or theDVI port of the physical output ports 340. Phase II includes determiningadditional characteristics of the TV set 341, which serves as acalibration process. For example, it is in phase II that the colortemperature, gamma characteristics, and/or de-interlacingcharacteristics or capabilities, among others, can be verified ordetermined.

FIG. 4 is a flow diagram of one example method for implementing phase Iand phase II of the discovery phase, in accordance with one embodimentof the disclosure. The blocks in the flow diagram of FIG. 4 should beunderstood as representing modules, segments, or portions of code whichinclude one or more executable instructions for implementing specificlogical functions or steps in the process. Alternate implementations areincluded within the scope of the preferred embodiments of the presentdisclosure in which functions may be executed out of order from thatshown or discussed, including substantially concurrently or in reverseorder, or with additional steps or steps omitted, depending on thefunctionality involved, as would be understood by those reasonablyskilled in the art of the present disclosure.

Referring to FIG. 4, and with continued reference to FIG. 3A, step 402includes receiving a request to commence discovery. The discovery phasecan be invoked using a dedicated key or button in the remote controldevice 380 (FIG. 3B), such as the TV capabilities query button 381 (FIG.3B). An interactive session can also be accomplished through a quicksettings user interface screen (e.g., not shown, but evoked by the userselecting the quick settings button 387, FIG. 3B) or through a generalsettings screen (e.g., not shown, but evoked by the user navigatingthrough menu items upon pressing the menu button 388, FIG. 3B).

Step 404 includes converting a video or picture sequence according to adefined video interface specification. Representative pictures or videosequences that include the different video formats in ATSC A/54 or SCTE43, for example, which vary in parameters such as aspect ratio (e.g.,4:3 versus 16:9), TV type (e.g., SDTV versus HDTV), among others, areused during the discovery phase. The video formats are processed foroutput by appropriately exercising conversion capabilities in the TVoutput system 331 according to defined categories of parameters for avideo output interface and to provide some efficiency in the driving ofoutputs. The pictures or video sequences (and/or audio) can be providedby the DHCT 16 as a result of real-time or time-shifted (e.g., bufferedto the storage device 373) conversion of a TV signal received from thenetwork 18 (FIG. 1). Preferably, picture or video sequence samples ofvarious parameters are stored in the storage device 373 and provided bythe DHCT 16 during the discovery phase. For example, these samples canbe downloaded to the storage device 373 upon receipt via the BFS module343 or downloaded by the DHCT manufacturer. Additionally, graphics,video, or a combination of graphics and video can be provided during thediscovery phase according to the mechanisms described in associationwith FIG. 3A.

Step 406 includes driving one or more display devices through thephysical output port with a video format corresponding to the videointerface specification to which the conversion in step 404 wasimplemented. The DHCT cycles through each video format in response tothe user selecting the cycle button 383, or in alternative embodiments,automatically for a defined interval of time, requesting input from theuser for each format. The display manager 335, in cooperation with themedia engine 330, the operating system 353, memory (e.g., memory 349and/or media memory 329), and the processor 344, preferably isresponsible for cycling the various video formats through the outputconnections 340 to the inputs of the TV set 341. The cycle is preferablyset from the highest resolution to the lowest resolution. For example,the DHCT may output 1080i first, and then output 720p, then 480p, andthen 480i. Once a user enters input, it is assumed that the TV set 341is to be driven at the highest resolution format to minimize degradationof the highest resolution TV set that is sourced. Driving the TV setwith a common video format simplifies graphics overlay management by thedisplay manager 335 and operating system 353 as it shortens developmentcycle and reduces provisions required to support legacy applications. Insome embodiments, the DHCT 16 can transmit audio instructions inaddition to or in lieu of the video and/or graphics data.

Step 408 includes soliciting a user response based on what is displayedon the TV screen. In one embodiment, the display manager 335, incooperation with the processor 344, can cause the generation andpresentation of various GUI screens to solicit help from a user todetermine the type of inputs that are supported by the TV set 341. Onepurpose for driving the inputs of the TV set 341 is to present a pictureon the screen of the TV set 341 along with a GUI screen that enables theuser to comment on whether he or she sees any picture on the display.Note that in other embodiments, audio instructions (e.g., such as speechinstructions) can be used, alone or in combination with graphics and/orvideo, to solicit user feedback and/or provide instruction which wouldfacilitate the determination of how the TV set 341 can be driven.

Step 410 includes determining whether user input was received within adefined period of time defined by a fixed or programmable threshold. Thefailure to receive an inputted response from the user may indicate thatthe user did not see a screen (e.g., there may not be a connection madeby the user or the particular video format cycled through the outputport is not supported). If a video format applied to the TV set inputwas not compatible with the TV set (e.g., a video format that is notcompatible with the scan format or other characteristics of the TV set341), or no connection has been made between the DHCT port and thecorresponding TV set port, an out-of-synch picture is likely to bedisplayed. If the DHCT 16 determines that no user input is receivedwithin a predetermined or defined period of time of driving the TV setwith a signal having a prescribed video format, the DHCT 16automatically selects a new port, or another video format for the sameoutput port (e.g., if more than one video format is supported by theselected output port) (step 422), and repeats the process starting atstep 404. In some embodiments, selection of the next port is notautomatically initiated until a user enters input, regardless of whetherinstructions or other messaging on the screen is viewable or not, thusomitting the determination step (step 410). For example, instructions ina written user's guide (or by phone) can require a user to enter onetype of input (e.g., the cycle button 383, FIG. 3B) when the video isout-of-synch (e.g., instructions do not appear), and another type ofinput (e.g., the select button 387, FIG. 3B) when the displayed pictureand/or instructions are coherent (e.g., observable and/or legible). Insome embodiments without the automatic feature, the determination stepmay still be employed.

The programmable threshold that defines the period of time for cyclingthrough the video formats and/or output ports may be programmed andstored in NVM 348 of the DHCT 16. Alternatively, the threshold value canbe stored in the storage device 373 of the DHCT 16 or in NVM (not shown)in the remote control device 380. Programming of the threshold value canbe performed at a manufacturing facility, by a cable operator from theheadend 11 while the DHCT 16 is at a subscriber's or user's premise, orby the subscriber or user.

If a GUI is viewable, suggesting that the cycled video format is bothestablished through a valid connection to the TV set 341 and that the TVset 341 can be driven using that applied video format, step 412 includesmapping the video interface specification and corresponding port with aparameter or parameters of the TV signal, video sequence or picture. Inother words, the DHCT 16 stores in memory (e.g., media memory 329,memory 349, and/or the storage device 373, FIG. 3A) the parameter(s) orsettings required to operate the video display pipeline 338 and/orgraphics display pipeline 339, the functions in the output system 331,and the output ports 340 to effect the processing and output of a TVsignal according to the parameters of each possible TV signal formatthat DHCT 16 is capable of receiving via its tuner system 345 (FIG. 3A)or an input or communication port. In addition to storing the parametersand settings required to process and output each respective TV signalformat, the DHCT 16 stores a table (not shown) that associates eachpossible TV signal format to one or more designated output ports 340.For example, for TV signals that have parameters that indicate thesignal originated in or is otherwise compliant to an HD transmissionmedium, the DHCT 16 determines the parameters of the received TV signalby, for example, processing information in the signal and comparing theinformation with information stored in the SAM database 360. The SAMdatabase 360 may include stored information in an association table (notshown) that maps the TV signal to a designated output port. The DHCT 16then converts the TV signal, and drives the converted TV signal throughthe designated port (e.g., YPbPr port) of the physical output ports 340.

For formats where a display is generated and viewable by the user,additional formats can be presented through this interactive session tofine-tune what the user is viewing. Step 414 includes applying testsequences for phase II discovery. For example, one category of drivingthe TV set inputs can be according to the scan format (e.g., interlacedversus progressive). Within an interlaced category, there are multiplevideo formats (e.g., with differences in resolution (e.g., 1080i, 480i,etc.), aspect ratio, among other parameters). If the TV set 341 has thecapability to only receive an input with a progressive scan format, thendriving it with an interlaced scan format may result in no displayablescreen (e.g., a scrambled picture), thus negating the need to drive theTV set inputs with other video formats under the category of interlaced.The test sequences are received from memory in a manner as describedabove for step 402, and processed (e.g., altered) in the blitter 337 incooperation with the display manager 335 and the processor 344 (FIG.3A). In one embodiment, the samples are altered in a manner that causesimages on the TV screen to be distorted and/or appear with a variety offeatures (e.g., cropped) and/or or omissions of features and/oraccentuations in features or conditions (e.g., taking a circle andexpanding in a vertical or horizontal orientation to create an ellipse).By altering the samples, a display screen comprising, in one embodiment,a GUI and an altered image sample, can be presented that enables theDHCT 16 to determine how the TV set 341 reacts to or presents thesealtered images based on the user response. Some of the samples stored inthe storage device 373 can be altered samples, or in some embodiments,the alterations can be implemented in the media engine 330 or via acombination of stored altered samples and processing in the media engine330.

Step 416 includes soliciting a user response based on what is displayedon the TV screen. Based on the video format selected and the alterationimposed in step 414, there is an expected effect on the picturepresented on the TV screen, and this expected effect is used to generatethe appropriate question to the user on the display screen to helpdetermine the characteristic of the TV set 341 (FIG. 3A) the questionwas geared to find. Soliciting a user response can also includerequesting user preferences. For example, the user may be presented withalternate pictures having different colors and asked to choose apreferred color.

Step 418 includes determining characteristics of the display devicebased on the solicited user response. Running through interactivescreens shown in FIGS. 5-8 (and other screens not shown) and solicitinganswers to the questions presented in these screens enables the DHCT todetermine the capabilities of the TV and allows the user alternatedisplay options of video and graphics throughout the course of viewingthe picture in the display screen of the TV set 341. Hence, the user hasa mechanism for selecting a video format for the video (and graphic)that the viewer can simply invoke for different sourced video signals.This allows the user the flexibility to display a sourced picture of acertain aspect ratio to the aspect ratio of the TV set or in a mannerthe user chooses. For example, the preferred embodiments of thedisclosure allows the viewer to expand a sourced 4:3 content out to theedges of a 4:3 HDTV (i.e., full screen rather than a boxed in display).

Step 420 includes storing the TV set display characteristics. One ormore non-volatile memory (NVM) bits (not shown) in memory 349 (or thecharacteristics can be stored in the storage device 373, FIG. 3A) (FIG.3A) are assigned to denote a default value: “never set” or “set”. Onceset, the capabilities of the connected TV set 341 are retained in NVM348. If the user employs a different TV set in the future, theinteractive sessions of the preferred embodiments of the disclosure canbe re-entered via the TV capabilities query button 381, generalsettings, quick settings, front key input on the DHCT 16, or via otherbuttons on the remote control device 380 (FIG. 3B) using key sequencesas explained in a user's manual.

Step 422 includes selecting another port or another format for the sameport, and then the discovery process is repeated again beginning at step404.

Therefore, during an interactive session that requests input from theuser, the DHCT 16 cycles through each video format requesting input fromthe viewer rather than merely terminating when a first video formatcategory suitable for driving the TV set 341 is determined. Hence, theinput from the user preferably does not cease after the useracknowledges being able to view a first viewable display screen, butrather after completion of cycling through all or substantially allvideo formats.

Note that in some embodiments, phase I can be implemented for all portsand completed before commencing phase II.

Also, in some embodiments, the user may decide on which output port ofthe physical output ports 340 (FIG. 3A) to output each possible pictureformat of the input, incoming or tuned TV signal. For instance, a usermay express his or her preferences in interactive sessions during the TVcapability discovery phase to output an incoming TV (video) signalthrough an output port capable of outputting the scan rate equivalent tothe scan rate of the incoming TV signal. Furthermore, the user maydecide through the interactive sessions to select an output port foreach respective TV channel in the channel line-up, assuming that theuser knows the picture format of each channel or that the interactivesession displays information on the screen containing the picture formatassociated with each channel to the user. User preferences are stored inmemory, for example memory 349 (FIG. 3A), and/or the storage device 373(FIG. 3A).

The picture format associated with each channel may be known a priori.For example, the picture format may be obtained or inferred by theprocessor 344 (FIG. 3A) from the record of each program in an EPG or IPGdatabase (not shown) residing in memory 349 (FIG. 3A), or frominformation associated with each service or TV channel in the SAM tables(e.g., SAM database 360, FIG. 3A) residing in memory 349. Alternatively,the DHCT 16 (FIG. 3A) may determine the picture rate for each TVchannel, service or program by tuning to each channel in the channelline-up. Since the picture rate for a TV channel may change through thecourse of time, the user may further prefer to allow the DHCT 16 todynamically switch output ports according to the incoming TV signal'spicture format.

The discovery phase retains (e.g., by saving in memory 349, FIG. 3A) theoutput formats or modes that the DHCT 16 (FIG. 3A) is capable ofoutputting. A user may opt to eliminate one or more output capabilityfrom the plurality of output capabilities found during the discoveryphase. During normal TV watching operation, the user has access toselect any of the retained outputting modes (e.g., via quick settings ora remote key). The DHCT 16 may be configured to output in one pictureformat (e.g., 1080i) or to dynamically adjust to output according to thepicture format of the incoming TV signal. Regardless of whether the DHCT16 outputs in a fixed format indefinitely, the user has access to thelist of retained output modes and select an alternate output mode fromthe list.

In one embodiment, wherein the output mode is fixed to a first pictureformat, once the user selects an alternate output format from the listof retained output modes, the DHCT 16 (FIG. 3A) continues to output thealternate output format indefinitely until the user once again selectsanother output mode (e.g., possibly the first picture format). In analternate embodiment, when the user tunes to a different channel, theDHCT 16 discontinues outputting the alternate output format by revertingto output the first picture format.

V. Interactive Session Display Screens

FIG. 5 is a block diagram of one arrangement for the TV set 341 and theDHCT 16. The DHCT 16 includes a digital display 502 and navigationbuttons 504 for performing navigational functions like channel changing,etc. For example, the user can select the navigation buttons 504 toselect information in response to a DHCT prompted GUI screen 510 duringphase I discovery. Presumably, a GUI screen 510 is presented because aconnection between the DHCT port and corresponding connection at the TVset 341 has been made and a video format was input to the TV set inputor inputs with which the TV set 341 is compatible. As shown, a textmessage in the display screen 510 queries the user, “Can you read thisquestion?” The user will enter input if he or she is able to read thequestion. The display screen 510 suggests through the use of navigationarrow icons 512 that the user can select the navigation buttons 385 onthe remote control device 380 (FIG. 3B) or the DHCT navigation buttons504. One skilled in the art will understand that other buttons can beused to convey a user response, including the use of just the selectbutton 387 (FIG. 3B).

As is shown in FIGS. 6-7, a set of display screens tailored for eachcombination of video format and display aspect ratio are generated foreach respective video format during phase II discovery. Continuing withthe example referenced in association with FIG. 4, within thegeneralized category of a respective scan mode (e.g., progressive versusinterlaced), the picture is output in multiple ways to find out furthercapabilities of the TV set 341. This process includes outputtingdifferent aspect ratios such as 16:9, 4:3, or others, as well asembedding a graphical picture within the picture (e.g., letterbox orsidebars). The user may have set the TV set 341 to display letterbox,for example, or there may be a default setting. The user may alsoconfigure settings in the DHCT 16 for handling the aspect ratio in apredetermined manner. Thus, there may be cumulative operations performedby the DHCT 16 and the TV set 341 that cause distortions of objects tobe amplified (e.g., a ball on the screen may be stretched by operationsin the DHCT 16 and then further stretched due to operations in the TVset 341). Images stored in the storage device 373, for example, may bepresented at the TV set 341 in a distorted and non-distorted manner todetermine these settings. The phase II discovery process also includesoutputting graphics with alternate lines displaced or shifted by variedamounts to determine if the TV set 341 has a de-interlacer and if so,what is its quality. Graphical objects in the graphical picture mayrepresent certain geometrical shapes subjected to any of a plurality of2-D or 3-D transformations that include rotation, scaling, shear andperspectives, among others, that when coupled to alternate linedisplacements of shift that emulate motion from an interlaced camera,help identify the performance of the de-interlacing capabilities of ade-interlacer. For example, the DHCT 16 may test the quality of thede-interlacer of the TV set 341 to determine if de-interlacingfunctionality in the DHCT 16 should be bypassed due to superior qualityof the de-interlacer in the TV set 341. De-interlacer assessment may befurther refined to determine which of two de-interlacers performs bestfor analog signals, for interlaced SD pictures received as compresseddigital signals, and/or for interlaced HD pictures received ascompressed digital signals. Note that a TV set may feature “multi-synch”support. For example, an HDTV set may support multiple video formats atits input. In such event, it may be desirable to drive the HDTV set withthe native scan format of the sourced input signal to minimize picturedegradation.

FIG. 6 illustrates a query that is aimed towards determining how the TVset 341 handles certain aspect ratios. For example, a signal receivedfrom the headend 11 (FIG. 2) may carry content at a 4:3 aspect ratio,although the connected TV set is an HDTV having a 16:9 aspect ratio. Oneway the HDTV set handles this source signal could be to provide blackvertical stripe boxes on the side of the 4:3 screen. An interactivesession can help the DHCT 16 determine what is connected by the way theTV set handles the displayed picture. As shown, the video formatinferred here is handled by the TV set 341 by outlining the picture inthe display screen with top and bottom block stripes. The display screen610 includes a text message that asks the user, “Does the screen havetop and bottom black boxes reducing the screen?” Depending on theresponse to this question, a series of screens can be presented that asksimilar questions, such as whether the user sees side block stripes, ora boxed-in picture. In other embodiments, a single screen instructioncan ask all of these questions, which are aimed at trying to ascertainthe aspect ratio of the TV set 341.

FIG. 7 is a block diagram illustrating another interactive displayscreen 710 used to fine tune the color quality. As shown, input isrequested on the color of a graphical object (although it could becolored-text as well) in the display to ascertain the color temperatureof the TV set display. For example, the graphical object, generatedinternally to the DHCT 16, is a ball 712, and the question presented tothe user is, “what is the color of the ball in the screen?” A scrollablecolor-choice list 714 can be presented, which gives the user a choice ofcolors to choose from to enable the user to adequately describe thecolor of the ball.

Other questions can be presented to determine other characteristics. Forexample, input can be requested from the user on whether visible flickeror certain artifacts are visible to determine if the TV set has aninternal line-doubler (i.e., de-interlacer) or to assess the quality ofthe line doubler versus that of the line doubler of the DHCT 16.Additional questions can be presented to the user to provide userpreferences on border color or shade (e.g., the letterbox may beavailable with different shades of gray to cause the picture brightnessto vary and thus enhance the viewer experience).

Additional embodiments can be used for this interactive session betweenthe user and the DHCT 16. In one embodiment, synthesized audio can beplayed while cycling through the video formats, instructing the user toenter input without any dependence on a displayed GUI. In anotherembodiment, synthesized audio can be played with a displayed GUI in eachcycled video format, and in some embodiments, synthesized audio isrepeated if the user's input is not received after an elapsed timegreater than a predetermined threshold.

Some embodiments may employ buttons on the DHCT 16 (e.g., light-emittingdiodes, or LEDs, such as digital display 502 (FIG. 5)) in lieu of or inaddition to the display screens. For example, since some HDTVs andprojectors have common inputs that may not accept 1080i signals, theLEDs may be used where on-screen graphics is not readable (e.g., if thescan is not correct). Possible scan values include 1080i, 720p, 480p,and 480i. When NVM values are cleared during staging (e.g., initialinstallation), the scan value from a staging configuration file may beset. If the staging configuration file does not contain the scan valueparameter, 1080i will be set. Most HDTVs will accept the 1080i scanformat, so that may be the default value. Other settings may beavailable using a front panel settings key (not shown). For example, byholding down a settings key for a predetermined period of time, amessage light may blink and the LED digits may reveal the currentsetting. In some embodiments, a scan barker (not shown) may bedisplayed. Pressing the settings key again may cycle the settings.

The display manager 335 can be implemented in hardware, software,firmware, or a combination thereof. In the preferred embodiment(s), thedisplay manager 335 is implemented in software or firmware that isstored in a memory and that is executed by a suitable instructionexecution system. If implemented in hardware, as in an alternativeembodiment, the display manager 335 may be implemented with any or acombination of the following technologies, which are all well known inthe art: a discrete logic circuit(s) having logic gates for implementinglogic functions upon data signals, an application specific integratedcircuit (ASIC) having appropriate combinational logic gates, aprogrammable gate array(s) (PGA), a field programmable gate array(FPGA), etc.

The display manager 335, which comprises an ordered listing ofexecutable instructions for implementing logical functions, can beembodied in any computer-readable medium for use by or in connectionwith an instruction execution system, apparatus, or device, such as acomputer-based system, processor-containing system, or other system thatcan fetch the instructions from the instruction execution system,apparatus, or device and execute the instructions. In the context ofthis document, a “computer-readable medium” can be any means that cancontain, store, communicate, propagate, or transport the program for useby or in connection with the instruction execution system, apparatus, ordevice. The computer readable medium can be, for example but not limitedto, an electronic, magnetic, optical, electromagnetic, infrared, orsemiconductor system, apparatus, device, or propagation medium. Morespecific examples (a nonexhaustive list) of the computer-readable mediumwould include the following: an electrical connection (electronic)having one or more wires, a portable computer diskette (magnetic), arandom access memory (RAM) (electronic), a read-only memory (ROM)(electronic), an erasable programmable read-only memory (EPROM or Flashmemory) (electronic), an optical fiber (optical), and a portable compactdisc read-only memory (CDROM) (optical). Note that the computer-readablemedium could even be paper or another suitable medium upon which theprogram is printed, as the program can be electronically captured, viafor instance optical scanning of the paper or other medium, thencompiled, interpreted or otherwise processed in a suitable manner ifnecessary, and then stored in a computer memory.

It should be emphasized that the above-described embodiments of thepresent disclosure, particularly, any “preferred embodiments” are merelypossible examples of implementations, merely setting forth a clearunderstanding of the principles of the disclosures. Many variations andmodifications may be made to the above-described embodiments of thedisclosure without departing substantially from the spirit of theprinciples of the disclosure. All such modifications and variations areintended to be included herein within the scope of the disclosure andpresent disclosure and protected by the following claims.

1. A system, comprising: processing logic configured to effect thepresentation of objects on a display screen of a display device that arealtered by one or more pipelines, the processing logic configured tosolicit a response by a user, the processing logic further configuredto, responsive to the user input, determine the de-interlacingcapabilities of the display device.
 2. The system of claim 1, whereinthe display device includes a television set.
 3. The system of claim 1,wherein the processing logic is further configured to determine thede-interlacing capabilities of the client device.
 4. The system of claim3, wherein the one or more pipelines further comprises: a media memoryconfigured to store one or more consecutive interlaced pictures; andcircuit logic configured to: access an interlaced pictures from thememory; process a plurality of lines from a field corresponding to theinterlaced picture; and generate each line of a resulting progressivepicture.
 5. The system of claim 4, wherein the processing logic isfurther configured to effect the display of the progressive picture onthe display screen and solicit further user response based on theperceived quality of the display of the progressive picture.
 6. Thesystem of claim 5, wherein the processing logic is further configured todetermine whether the de-interlacing capabilities of the client deviceor of the display device should be used based on the further userresponse, wherein the processing logic is further configured toresponsively implement the superior quality de-interlacing capabilities.7. The system of claim 4, wherein the processing logic is furtherconfigured to determine the de-interlacing capabilities based on aninput corresponding to analog signals, interlaced standard definition(SD) pictures received as compressed digital signals, interlaced highdefinition (HD) pictures received as compressed digital signals, or acombination of two or more.
 8. The system of claim 4, wherein thecircuit logic is programmable.
 9. The system of claim 3, wherein the oneor more pipelines further comprises: a media memory configured to storeone or more consecutive interlaced pictures; and circuit logicconfigured to: access plural interlaced pictures from the memory;process a plurality of lines from plural field corresponding to theplural interlaced pictures; and generate each line of resulting pluralprogressive pictures.
 10. The system of claim 9, wherein the processinglogic is further configured to effect the display of the pluralprogressive pictures on the display screen and solicit further userresponse based on the perceived quality of the display of the pluralprogressive pictures.
 11. The system of claim 10, wherein the processinglogic is further configured to determine whether the de-interlacingcapabilities of the client device or of the display device should beused based on the further user response, wherein the processing logic isfurther configured to responsively implement the superior qualityde-interlacing capabilities.
 12. The system of claim 9, wherein theprocessing logic is further configured to determine the de-interlacingcapabilities based on an input corresponding to analog signals,interlaced standard definition (SD) pictures received as compresseddigital signals, interlaced high definition (HD) pictures received ascompressed digital signals, or a combination of two or more.
 13. Thesystem of claim 9, wherein the circuit logic is programmable.
 14. Thesystem of claim 1, wherein the processing logic is embodied in a networkclient device capable of outputting video and audio in at least onedefined format through at least one port.
 15. The system of claim 1,wherein the processing logic is further configured to determine thede-interlacing capability of the display device by effecting an outputto the display device of graphical objects with alternate linesdisplaced or shifted by varied amounts based on operations of the one ormore pipelines.
 16. The system of claim 15, wherein the determination ofde-interlacing capabilities of the display device includes adetermination of whether the display device has de-interlacingcapabilities, the quality of the de-interlacing capabilities, or acombination of both.
 17. The system of claim 15, wherein the one or morepipelines are further configured to generate the graphical objects basedon one or more two-dimensional transformations, one or morethree-dimensional transformations, or a combination of both.
 18. Amethod, comprising: altering one or more objects corresponding to one ormore pictures; de-interlacing by a client device one or more fieldscorresponding to the altered one or more objects; outputting the alteredobjects and the de-interlaced altered objects on a display screen of adisplay device; and soliciting user input to determine a quality of oneor more rendered displays on the display screen, the one or morerendered displays based on the outputted altered objects that arede-interlaced at the display device and the de-interlaced alteredobjects provided by the client device.
 19. The method of claim 18,further comprising determining whether the de-interlacing capabilitiesof the display device or the de-interlacing capabilities of the clientdevice are superior.
 20. A system, comprising: means for altering one ormore objects; means for outputting the altered one or more objects on adisplay screen; means for soliciting a response by a user in associationwith the displayed objects; and means for determining the de-interlacingcapabilities of the display device responsive to the user input.